package com.itheima.day04;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.Random;

public class Demo10 {
    public static void main(String[] args) {
        /*
        需求:
        随机生成10个[1,100]不重复的整数, 存入长度为10数组中, 这样的方式生成2个数组,
        将数组的交集部分打印到控制台上.
         */
        //1. 创建Random对象
        Random r = new Random();
        //2. 定义一个长度为10的数组
        int[] arr = new int[10];
        int[] arr1 = new int[10];
        //3. 定义变量num,用来接受生成的随机数
        int num;
        //4. 生成10个[1,100]不重复的整数, 存入长度为10的第一个数组中
        for (int i = 0; i < 10; i++) {
            //4.1 获取到的随机数赋值给num
            num = r.nextInt(100) + 1;
            //4.2 讲生成的随机数存入数组中
            arr[i] = num;
            //4.3 判断生成的随机数和数组中已有的元素是否相同,相同则重新生成随机化,不同则直接存入数组
            for (int j = 0; j <= i; j++) {
                //相同
                if (num == arr[i]) {
                    num = r.nextInt(100) + 1;
                    arr[i] = num;
                } else
                    //不同
                    arr[i] = num;
            }
            //5. 打印第一组数组
            System.out.print(arr[i] + " ");
        }
        //换行
        System.out.println();
        //6. 生成10个[1,100]不重复的整数, 存入长度为10的第二个数组中
        for (int i = 0; i < 10; i++) {
            //6.1 获取到的随机数赋值给num
            num = r.nextInt(100) + 1;
            //6.2 讲生成的随机数存入数组中
            arr1[i] = num;
            //6.3 判断生成的随机数和数组中已有的元素是否相同,相同则重新生成随机化,不同则直接存入数组
            for (int j = 0; j <= i; j++) {
                //相同
                if (num == arr1[i]) {
                    num = r.nextInt(100) + 1;
                    arr1[i] = num;
                } else
                    //不同
                    arr1[i] = num;
            }
            //7. 打印第二个数组
            System.out.print(arr1[i] + " ");
        }
        //换行
        System.out.println();
        //5. 遍历数组,获取两个数组中相同元素,并打印
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr1.length; j++) {
                if (arr[i] == arr1[j])
                    System.out.print(arr[i] + " ");
            }
        }
    }
}
